Sappers Mojo Script Maker 3.1

This standalone Windows program builds native Mojo hotkeys and clickable panels,
and edits complete Mojo 335 script projects made from several #Include files.
It does not include accounts, character names, passwords, pictures, personal
scripts, or saved mouse coordinates.

OPEN SCRIPTS YOU ALREADY USE
1. Double-click "Sappers Mojo Script Maker.exe".
2. Click "Edit Mojo script...".
3. Open your main script, normally:
     OneDrive\Documents\SappersHideout\Mojo Build Sappers Hideout\Scripts\SapperMain.txt
   Script Maker selects the OneDrive Documents folder automatically when it
   exists, and otherwise uses the normal Windows Documents folder.
4. Click "Included files..." to open panel.txt, Raid.txt, 6manRaidTeam.txt,
   CharSelection.txt, or any other file reached through #Include lines.
5. Click "Check project" to check the main file and all included files together.
6. Save with the Save button or Ctrl+S. The prior copy is kept as .bak.

BUILD A NEW PANEL OR HOTKEY FILE
1. The main window reads the current Sappers Mojo team when available.
2. Team roles are ordered Driver, Tank2, AOE, AOE2, Heals, Buffs.
3. Each mapping is MojoWindowRole=DAoCCharacterName. The leader is first.
4. Add or edit a button. Start from a preset or build its steps visually.
5. Save the .smojoproject if you want to edit it later.
6. Export the generated .txt file, then select it in Mojo Hotkeys.

NEW 3.1 SAPPERS WORKFLOW PRESETS
- All stick Driver
- Self buffs
- Buff team
- Guard and protect
- Rez Driver target
- Rebuff Driver target
- Release all
- Client sleep backgrounds
- Select Driver window
- Port all
- Sell bags 1-4 while preserving the final backpack

The Sell Inventory preset requires the Sappers Hideout server /sell range
extension. It uses /sell 1 32, preserving fifth-backpack slots 33-40. Do not
enable that action until the server command has been installed and tested.

COMPLETE PROJECT CHECKS
"Check file" checks the open file. "Check project" follows all #Include lines
and reports the child file and line for each problem. It detects:
- missing includes and include loops;
- duplicate hotkeys in one file and collisions between included files;
- panel/DoHotkey triggers that are not defined anywhere in the project;
- broken braces, parentheses, quotes, waits, and unknown Mojo commands;
- Package blocks without explicit SendTo recipients;
- common modifier mistakes such as FLShift;
- accidental spaces after / in commands such as / assist;
- fixed-pixel clicks and machine-specific absolute picture paths;
- overlapping concurrent slash-command packages less than 500 ms apart;
- server-only commands such as /join and the Sappers /sell extension.

MOUSE-POSITION HELPER
Inside the script editor, click "Mouse helper...". For an automatic capture:
1. Click "Capture game + mouse in 3 seconds".
2. Switch to the desired DAoC client.
3. Place the pointer over the button before the timer expires.
4. Copy the fixed-pixel or percentage CLICK line.

Percentage clicks scale when DAoC windows differ in size. Easy CLICK lines now
export Robbie's proven native form with an explicit mouse button:
  CLICK 50% 68%
becomes:
  ClickMouse ( Lbutton 50% 68% )

COMMAND TYPES
- Standard DAoC: ordinary slash commands expected on normal DAoC servers.
- Server-dependent DAoC: commands that only some servers provide.
- Sappers server: Sappers Hideout extensions, currently including /sell.
- Mojo controls/routing/window/display: commands interpreted by Mojo itself.

Both the visual builder and direct editor have searchable command libraries.
The direct library contains native Mojo 335 syntax. Easy visual-builder lines
are converted into canonical native syntax on export.

TIMING AND PACKAGES
Commands inside one Package run in order. Separate Package blocks may run at
the same time. When two packages can type slash commands into the same client,
put at least 500 ms of leading Wait in one package. This prevents command text
from interleaving. The checker specifically detects this failure pattern.

PORTTEAM
Easy scripts accept PORTTEAM or PORTTEAM 100. The latter exports:
  PortTeam ( 100 )

COMPATIBILITY
- Existing Script Maker 3 .smojoproject files remain compatible.
- Existing Mojo .txt files are preserved as native text when edited.
- Unknown advanced commands are warnings, not silently removed.

Original Mojo command design and behavior are credited to Rob / Mojoware.
Sappers Mojo Script Maker is a separate Sappers Hideout editing tool.
